package com.integral.biz;

import java.util.List;

import com.integral.entity.Order;
import com.integral.entity.Product;
import com.integral.vo.OrderVo;

/**
 * @Description: 订单表BIZ接口类
 * @author zhaofan
 * @date 2018年05月08日 上午01:48:50
 */
public interface IOrderBiz {
	
	/**
	 * @Description: 新增订单表
	 * @param order
	 * @return 受影响行数
	 * @author zhaofan
	 * @date 2018年05月08日 上午01:48:50
	 */
	public int addOrder(Order order);
	
	/**
	 * @Description: 修改订单表
	 * @param order 订单表
	 * @return 受影响行数
	 * @author zhaofan
	 * @date 2018年05月08日 上午01:48:50
	 */
	public int updateOrder(Order order);
	
	/**
	 * @Description: 删除订单表
	 * @param id 主键
	 * @return 受影响行数
	 * @author zhaofan
	 * @date 2018年05月08日 上午01:48:50
	 */
	public int deleteOrder(Long id);
	
	/**
	 * @Description: 根据ID查询订单表
	 * @param id 主键
	 * @return 订单表
	 * @author zhaofan
	 * @date 2018年05月08日 上午01:48:50
	 */
	public Order findById(Long id);
	
	/**
	 * 查询订单总记录数
	 * @param orderVo
	 * @return
	 */
	public Long findOrderCount(OrderVo orderVo);
	
	/**
	 * 查询订单列表
	 * @param orderVo
	 * @return
	 */
	public List<OrderVo> findOrder(OrderVo orderVo);
	
	/**
	 * 根据订单编号修改订单状态
	 * @param order
	 * @return
	 */
	public int updateByStatus(Order order);
	
	/**
	 * 根据ID查询 支付产品信息
	 * @param product
	 * @return
	 */
	public Product findProductById(int productId);
}